#include <iostream>

using namespace std;

//#include "classic.h"
//
//void Bravo(const Cd& disk);
//
//int main()
//{
//	Cd c1("Beatles", "Capitol", 14, 35.5);
//	Classic c2 = Classic("PSiBfFic", "alfred brendel", "philips", 2, 57.17);
//	Cd* pcd = &c1;
//
//	cout << "Using object directly : \n"; 
//	c1.Report(); 
//	c2.Report();
//	cout << "Using type cd * pointer to objects : \n";
//	pcd->Report(); 
//	pcd = &c2;
//	pcd->Report(); 
//	cout << "Calling a function with a cd reference argument : \n";
//	Bravo(c1);
//	Bravo(c2);
//	cout << "Testing assignment : ";
//	Classic copy;
//	copy = c2; 
//	copy.Report();
//
//
//	return 0;
//}
//
//void Bravo(const Cd& disk)
//{
//	disk.Report();
//}

//#include "dma.h"
//const int CLIENTS = 4;
//
//int main()
//{
//	ABC* p_clients[CLIENTS];
//	char kind;
//	for (int i = 0; i < CLIENTS; i++)
//	{
//		cout << "Select 1) ABC, 2) baseDMA,3) lacksDMA,4)hasDMA:";
//		while (cin>>kind&&(kind!='1'&& kind != '2' && kind != '3' && kind != '4'))
//		{
//			cout << "Enter either 1 2 3 4:";
//		}
//		if (kind == '1')
//		{
//			p_clients[i] = new ABC();
//		}
//		else if (kind == '2')
//		{
//			while (cin.get()!='\n')
//			{
//				continue;
//			}
//			char l[40];
//			int r;
//			cin.getline(l, 40);
//			cin >> r;
//			p_clients[i] = new baseDMA(l, r);
//		}
//		else if (kind == '3')
//		{
//			while (cin.get() != '\n')
//			{
//				continue;
//			}
//			char l[40],c[40];
//			int r;
//			cin.getline(l, 40);
//			cin.getline(c, 40);
//			cin >> r;
//			p_clients[i] = new lacksDMA(c,l, r);
//		}
//		else if (kind == '4')
//		{
//			while (cin.get() != '\n')
//			{
//				continue;
//			}
//			char l[40], c[40];
//			int r;
//			cin.getline(l, 40);
//			cin.getline(c, 40);
//			cin >> r;
//			p_clients[i] = new hasDMA(c, l, r);
//		}
//		while (cin.get() != '\n')continue;
//	}
//
//	for (int i = 0; i < CLIENTS; i++)
//	{
//		p_clients[i]->View();
//		cout << endl;
//	}
//
//	for (int i = 0; i < CLIENTS; i++)
//	{
//		delete p_clients[i];
//	}
//
//	return 0;
//}